Rational Rose

Family of Graphical Object-Oriented Development Tools

Your solution for controlled iterative development

Rational Rose(R) is a graphical software-engineering tool that helps your development team produce object-oriented applications more effectively. With Rational Rose, you analyze, design, and implement systems in a way that makes them easy to visualize and communicate. Rational Rose currently supports C++, SQLWindows, PowerBuilder, Smalltalk, and Ada. The Rational Rose family is a fundamental component of Rational's modern, object-oriented, software-engineering solution. This solution comprises not only products, but also software processes and services that give you control of your software-development efforts and sharpen your competitive edge.








"By applying object-oriented analysis and design, we create software that is resilient to change and written with an economy of expression. We achieve a greater level of confidence in the correctness of our software through an intelligent separation of its state space. Ultimately, we reduce the risks that are inherent in developing complex software systems."
Grady Booch
Rational Fellow






"Object-oriented modeling and design is a way of thinking about problems using models organized around real-world concepts. The fundamental concept is the object, which combines both data structure and behavior in a single entity. Object-oriented models are useful for understanding problems, communicating with application experts, modeling enterprises, preparing documentation, and designing programs and databases."
James Rumbaugh
Rational Fellow


Object-oriented (OO) analysis and design promotes well understood requirements, resilient architectures, and maintainable systems. The Rational Rose family of tools supports the notation and the process of OO analysis and design, and it coordinates the work of development teams. It consists of a common base technology for analysis and design, as well as support for many implementation environments ranging from C++, Smalltalk, and Ada to 4GL client/server development tools such as Gupta's SQLWindows and Powersoft's PowerBuilder.

Leading method support

Rational Rose supports both the Booch '93 and the Object Modeling Technique (OMT) OO development methods. The Booch '93 notation, documented in Object-Oriented Analysis and Design with Applications, was developed by Grady Booch, a Rational Fellow. The OMT, documented in Object-Oriented Modeling and Design, was developed by James Rumbaugh, also a Rational Fellow, with Michael Blaha, William Premerlani, Frederick Eddy, and William Lorenson. With combined sales of the two books exceeding 200,000 copies and with more than 30 companies offering tools that support one or both of these notations, the Booch method and the OMT represent the two leading object methods. For both, Rational Rose supports multiple views of the underlying model, including object and class diagrams and scenario diagrams for use-case modeling.

Parallel development

Rational Rose supports teams of analysts, architects, and engineers by enabling each developer to operate in a private workspace containing an individual view of the whole model. Each developer can govern the propagation of changes into his or her own workspace, gaining control without sacrificing scaleability. You can decompose the model into controlled units that can be stored in external source-code configuration-management systems such as PVCS, SourceSafe, Rational Apex(R), or SCCS. Rational Rose uses platform-independent model files for persistent storage of controlled units, removing the constraint that all team members must utilize the same platform. This interoperability extends between UNIX and Windows platforms, and it allows you to move your designs easily between desktop UNIX systems and mobile laptops.

Controlled iterative development with round-trip engineering

OO development is well suited to an iterative project lifecycle. In controlled iterative development, a small core of the system is analyzed, designed, and implemented to address and remove the critical risk item. This process is repeated to eliminate remaining risk items in each successive iteration. Controlled iterative development requires that software-engineering tools support all phases of the lifecycle and allow you to move easily from analysis to design to implementation and back to analysis.

Rational Rose supports this process with customizable code generation, reverse engineering, model differencing, and design-update features that allow you to extend the implementation of your design, make changes to that implementation, assess those changes architecturally, and have them automatically reflected in your design. This direct support for controlled iterative development is called round-trip engineering.

Rational Rose/C++

Rational Rose/C++ supports round-trip engineering, including forward and reverse engineering of C++ code. It provides a graphical editor for fine-grained customization of generated C++ code, and it can reverse engineer an existing application's C++ source code to produce a model depicting its logical structure (class categories and classes) and physical structure (subsystems and modules). This reverse-engineered model can then be integrated into an existing model (to show how the new application will make use of an existing class library, for example), or it can become the basis for regenerating the next version of the application.

Rational Rose/SQLWindows and Rational Rose/PowerBuilder

Rational Rose helps bring the benefits of object modeling and iterative development to client/server and three-tier-architecture information systems. Rational Rose/SQLWindows and Rational Rose/PowerBuilder enable you to focus on building objects that model the business. Rational Rose automatically generates the user-interface framework, application object representations, and database schemas from the business objects. Rational Rose also supports the generation of SQL/DDL (Oracle 7, Sybase, SQL Server, SQLBase, Watcom SQL, and ANSI SQL) for all persistent objects in a Rational Rose class diagram. In addition, SQLWindows and PowerBuilder code can be reverse engineered into a Rational Rose model so you can maintain consistency between the code and the model. With this round-trip engineering capability, organizations can manage the development of client/ server applications through controlled iterative development.

Rational Rose/Smalltalk

Rational Rose/Smalltalk extends the Rational Rose family of tools to support development teams working in any of the leading Smalltalk environments. Rational Rose/Smalltalk generates Smalltalk code from your designs and also reverse engineers Smalltalk code into object models for easy comprehension and documentation. In this way, Rational Rose/Smalltalk extends the standard Smalltalk visual development paradigm by helping you to graphically manipulate class and object relationships.

Rational Rose/Smalltalk currently supports ParcPlace VisualWorks, IBM Smalltalk and VisualAge, and Digitalk Smalltalk/V. It also is designed to work with ENVY/Developer, a popular Smalltalk configuration-management system.

Rational CRC

Rational CRC provides automated support for responsibility-driven design by capturing classes, responsibilities, and collaborations with graphical CRC index cards. You can use Rational CRC alone, or you can have Rational CRC generate a Rational Rose model for further refinement, analysis, and detailed design modeling.

Rational Rose/Ada

Rational Rose/Ada works in conjunction with Rational's Ada programming tools to automate the production of Ada 83 applications. Rational Rose/Ada can generate Ada code from models, and it can build both a logical model (class categories and classes) and a physical model (subsystems and modules) from an existing Ada 83 application. This model can then be integrated into an existing model (to show how the new application will make use of an existing class library, for example), or it can become the basis for generating the next version of the application.

Field-proven reliability

Rational Rose has a proven track record in a wide range of applications, including simulation, domain modeling, design of relational and object databases, development of programming tools, and integration of legacy applications. It has been used in banking and finance, telecommunications, process control, air-traffic control, oil and petrochemical applications, database systems, and MIS environments. Rational Rose has been used successfully in development projects ranging from small prototyping teams to very large distributed projects.

With more than 15,000 copies in use today, Rational Rose is the best field-proven solution available for OO development.

Supported platforms

Rational Rose is available for SunOS, Solaris, AIX, HP-UX, and PCs running Windows, Windows 95, and Windows NT.


D-143; last updated 10/2/95